// export 之后，可以在其他组件中导入(import)使用
export default {
  state: {
    id: 123,
    name: "天猫超市订单"
  },
  mutations: { // 直接变更state，不可包含异步操作
    // state为参数，也可以有载荷
    nextOrder(state) {
      state.id++;
    },
    next2Order(state, params) {
      state.id += params.n;
    }
  },
  getters: { // 类似于vue的computed
    // getter 在通过属性访问时是作为 Vue 的响应式系统的一部分缓存其中的。
    he: (state, getters) => {
      return state.id + getters.he3;
    },
    he2(state) {
      return state.id += 10;
    },
    he3(state) {
      return state.id  + 5
    }
  },
  actions: { // 用来提交mutation，不直接变更state，可以有异步的操作
    // context为参数，等同于$store
    nextActOrder(context) {
      context.commit("nextOrder");
    },
    next2ActOrder({commit}) {
      commit("next2Order", {n: 3});
    }
  }
}
